package com.example.app.samples

/**
 * Kotlin是可以直接传递函数的
 */
class View{
    interface  OnClickListener{
        fun  onClick(view :View)
    }

    /**
     * 接受一个函数类型
     * 函数类型其实还是一个特殊的接口，被预定义好的接口
     * 输入的是一个View类型，输出是一个void
     *
     */
    fun  setOnclickListener(listener:(View)->Unit){

    }
}


fun main(){
    val  view=View()
    //传递定义好的函数
    view.setOnclickListener(::onClick)
    //传递匿名函数
    view.setOnclickListener(fun(view: View){
        println("被点击了")
    })
    //传递lambda函数
    view.setOnclickListener{
        println("被点击了")
    }

}


fun onClick(view: View){
    println("被点击了")
}